From 9b10f2284806d2d97b5e60a22eb0fadd642fb575 Mon Sep 17 00:00:00 2001 From: "kfraser@localhost.localdomain" Date: Mon, 30 Jul 2007 10:59:27 +0100 Subject: [PATCH] Move generate_acpi_checksum() from ia64 code to common. Signed-off-by: Akio Takebe --- tools/libxc/ia64/Makefile | 2 +- tools/libxc/ia64/dom_fw_acpi.c | 13 +++++++++++++ xen/arch/ia64/xen/dom_fw_common.c | 11 ----------- xen/drivers/acpi/tables.c | 11 +++++++++++ xen/include/asm-ia64/dom_fw_common.h | 1 - xen/include/xen/acpi.h | 1 + 6 files changed, 26 insertions(+), 13 deletions(-) create mode 100644 tools/libxc/ia64/dom_fw_acpi.c diff --git a/tools/libxc/ia64/Makefile b/tools/libxc/ia64/Makefile index 29f7050ad5..27ab80765b 100644 --- a/tools/libxc/ia64/Makefile +++ b/tools/libxc/ia64/Makefile @@ -5,7 +5,7 @@ GUEST_SRCS-y += ia64/xc_ia64_linux_save.c GUEST_SRCS-y += ia64/xc_ia64_linux_restore.c GUEST_SRCS-y += ia64/xc_dom_ia64_util.c -DOMFW_SRCS_BASE := dom_fw_common.c dom_fw_domu.c dom_fw_asm.S +DOMFW_SRCS_BASE := dom_fw_common.c dom_fw_domu.c dom_fw_asm.S dom_fw_acpi.c DOMFW_SRCS := $(addprefix ia64/, $(DOMFW_SRCS_BASE)) $(DOMFW_SRCS): ln -sf ../$(XEN_ROOT)/xen/arch/ia64/xen/$(@F) $@ diff --git a/tools/libxc/ia64/dom_fw_acpi.c b/tools/libxc/ia64/dom_fw_acpi.c new file mode 100644 index 0000000000..09d1281a15 --- /dev/null +++ b/tools/libxc/ia64/dom_fw_acpi.c @@ -0,0 +1,13 @@ +#include +#include + +uint8_t +generate_acpi_checksum(void *tbl, unsigned long len) +{ + uint8_t *ptr, sum = 0; + + for ( ptr = tbl; len > 0 ; len--, ptr++ ) + sum += *ptr; + + return 0 - sum; +} diff --git a/xen/arch/ia64/xen/dom_fw_common.c b/xen/arch/ia64/xen/dom_fw_common.c index 43ed21e6d3..67a358b6b6 100644 --- a/xen/arch/ia64/xen/dom_fw_common.c +++ b/xen/arch/ia64/xen/dom_fw_common.c @@ -207,17 +207,6 @@ print_md(efi_memory_desc_t *md) printk("(%luKB)\n", size >> 10); } -uint8_t -generate_acpi_checksum(void *tbl, unsigned long len) -{ - uint8_t *ptr, sum = 0; - - for (ptr = tbl; len > 0 ; len--, ptr++) - sum += *ptr; - - return 0 - sum; -} - struct fake_acpi_tables { struct acpi20_table_rsdp rsdp; struct xsdt_descriptor_rev2 xsdt; diff --git a/xen/drivers/acpi/tables.c b/xen/drivers/acpi/tables.c index 2a38116d15..075c9fb851 100644 --- a/xen/drivers/acpi/tables.c +++ b/xen/drivers/acpi/tables.c @@ -227,6 +227,17 @@ void acpi_table_print_madt_entry(acpi_table_entry_header * header) } } +uint8_t +generate_acpi_checksum(void *tbl, unsigned long len) +{ + uint8_t *ptr, sum = 0; + + for (ptr = tbl; len > 0 ; len--, ptr++) + sum += *ptr; + + return 0 - sum; +} + static int acpi_table_compute_checksum(void *table_pointer, unsigned long length) { diff --git a/xen/include/asm-ia64/dom_fw_common.h b/xen/include/asm-ia64/dom_fw_common.h index 2e1ef6216e..9ba4202137 100644 --- a/xen/include/asm-ia64/dom_fw_common.h +++ b/xen/include/asm-ia64/dom_fw_common.h @@ -85,7 +85,6 @@ void xen_ia64_efi_make_md(efi_memory_desc_t *md, uint32_t type, uint64_t attr, uint64_t start, uint64_t end); -uint8_t generate_acpi_checksum(void *tbl, unsigned long len); struct fake_acpi_tables; void dom_fw_fake_acpi(domain_t *d, struct fake_acpi_tables *tables); int efi_mdt_cmp(const void *a, const void *b); diff --git a/xen/include/xen/acpi.h b/xen/include/xen/acpi.h index 3482d91391..062e4d4b40 100644 --- a/xen/include/xen/acpi.h +++ b/xen/include/xen/acpi.h @@ -390,6 +390,7 @@ int acpi_table_parse_srat (enum acpi_srat_entry_id id, acpi_madt_entry_handler h void acpi_table_print (struct acpi_table_header *header, unsigned long phys_addr); void acpi_table_print_madt_entry (acpi_table_entry_header *madt); void acpi_table_print_srat_entry (acpi_table_entry_header *srat); +uint8_t generate_acpi_checksum(void *tbl, unsigned long len); /* the following four functions are architecture-dependent */ void acpi_numa_slit_init (struct acpi_table_slit *slit); -- 2.30.2